#pragma once
#include "../Utilities/utilities.h"

class Shaders 
{
public:
	GLuint program, vertexShader, fragmentShader;
	char fileVS[260];
	char fileFS[260];
	
	// Normal Vertex
	GLint positionAttribute;
	GLint colorAtttribute;
	GLint uvAttribute;
	GLint textureUniform;
	GLint matMVPUniform;
	
	// Terrain
	GLint blendUniform, texLowUniform, texMedUniform, texHighUniform;

	// Reflection
	GLint matWorldUniform, cameraPositionUniform, cubeTextureUniform;
	GLint normalAttribute;
	int Init(char * fileVertexShader, char * fileFragmentShader);

	void getAttributeLocation(char* attr_name, GLint& attr_loc);
	void getUniformLocation(char* uni_name, GLint& uni_loc);
	~Shaders();
};